package com.bsj.power.common.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bsj.power.common.def.entity.job.Job;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author yinhao
 * @version 1.0
 * @description 工单信息
 * @date 2024/5/10
 */
@Repository
public interface JobMapper extends BaseMapper<Job> {

    /**
     * 根据人员名称获取人员ID集合
     *
     * @param list
     * @return
     */
    List<Integer> selectPersonnelId(List<String> list);

    /**
     * 同步工单信息，批量存储
     *
     * @param list
     * @return
     */
    int syncInsertSysJobList(@Param("list") List<Job> list);

    /**
     * 根据作业区域（场景名称）查询一个工单
     *
     * @param sceneName
     * @return
     */
    List<Job> selectByWorkArea(String sceneName);

    /**
     * 批量修改工单信息
     *
     * @param jobs
     * @return void
     * @author ljx
     * @time 2024/8/10 15:16
     */
    void batchUpdate(@Param("jobs") List<Job> jobs);

    /**
     * 查询工单信息按时间倒序取pageSize条
     *
     * @param pageSize
     * @return
     */
    List<Job> selectListDescTime(int pageSize);

    /**
     * 根据工单号和负责人模糊搜索
     * @param value
     * @return
     */
    List<Job> selectFuzzyByJobIdAndDirector(@Param("value") String value, @Param("pageSize") Integer pageSize);
}
